package jmine.tec.report.impl.table.pdf;

import jmine.tec.report.api.table.ReportCell;
import jmine.tec.report.api.table.ReportCellRenderer;

import com.lowagie.text.pdf.PdfPTable;

/**
 * Interface de renderers de células de relatório em pdf
 * 
 * @author lundberg
 */
public interface ReportCellPDFRenderer extends ReportCellRenderer {

    /**
     * Adiciona a célula de relatório à tabela.
     * 
     * @param table table
     * @param cell cell
     */
    void createCell(PdfPTable table, ReportCell cell);
    
    /**
     * Adiciona a célula de relatório à tabela.
     * 
     * @param table table
     * @param cell cell
     * @param horizontalAlignment alinhamento horizontal definido 
     */
    void createCell(PdfPTable table, ReportCell cell, int horizontalAlignment);
    
    /**
     * Formata o valor da célula em uma string
     * 
     * @param cell cell
     * @return String
     */
    String getFormattedString(ReportCell cell);
}
